             package com.java.diagnostics.visualizer.recommender.realtime;
             
             import com.java.diagnostics.visualizer.data.AggregateData;
             import com.java.diagnostics.visualizer.data.TupleData;
             import com.java.diagnostics.visualizer.recommender.Recommendation;
             import com.java.diagnostics.visualizer.recommender.RecommendationBase;
             import com.java.diagnostics.visualizer.recommender.util.RecommendationLabels;
             
             public class CalculateQuantumPauseProperties
               extends RecommendationBase
               implements Recommendation
             {
               public void recommend(AggregateData data)
               {
                 String gcMode = (String)getGCMode(data);
                 if ("metronome".equalsIgnoreCase(gcMode)) {
                   TupleData minQuantumPauses = data.getTupleData("WRTLabels.min.gc.quantum.time");
                   if (minQuantumPauses != null) {
                     double minPause = minQuantumPauses.getRawMinY();
                     addToQuantumSummary(data, 
                       RecommendationLabels.SUMMARY_MINIMUM_QUANTUM_PAUSE, 
                       Double.valueOf(minPause));
                   }
                   TupleData maxQuantumPauses = data.getTupleData("WRTLabels.max.gc.quantum.time");
                   if (minQuantumPauses != null) {
                     double maxPause = maxQuantumPauses.getRawMaxY();
                     addToQuantumSummary(data, 
                       RecommendationLabels.SUMMARY_MAXIMUM_QUANTUM_PAUSE, 
                       Double.valueOf(maxPause));
                   }
                   TupleData meanQuantumPauses = data.getTupleData("WRTLabels.mean.gc.quantum.time");
                   if (meanQuantumPauses != null) {
                     double meanPause = meanQuantumPauses.getRawMeanY();
                     addToQuantumSummary(data, 
                       RecommendationLabels.SUMMARY_MEAN_QUANTUM_PAUSE, 
                       Double.valueOf(meanPause));
                   }
                 }
               }
             }


